let o = {}

Object.defineProperty(o, 'a', {
  value: '222',
  writable: true
})

o.a = 1

console.log(o.a)

Object.defineProperty(o, 'a', {
  value: '333'
})

console.log(o.a)

/*
Object.defineProperty(o, 'a', {
  value: '333',
  writable: true
})

console.log(o.a)

o.a = 2

console.log(o.a)
 */
/*
o = new Proxy(o, {
  defineProperty(target, key, opts) {
    console.log(target, key, opts)

    return true
  }
})

Object.defineProperty(o, 'a', {
  value: '444'
})
*/
